package e

var MsgFlags = map[int]string{
	SUCCESS:                    "成功",
	ERROR:                      "系统错误",
	InvalidParams:              "参数错误",
	NoneToken:                  "token不存在",
	NotPermission:              "没有权限",
	NotExist:                   "请求资源不存在",
	NotPair:                    "未配对",
	NotLeaderUkey:              "未绑定主任密钥",
	ServerNotAuthorize:         "服务端未授权",
	RepeatedAction:             "你的操作太快了，请稍候再试",
	ErrorRequestHeader:         "请求头部信息错误",
	ErrorLiteError:             "qc服务器未知错误",
	Unknown:                    "未知错误",
	DialTimeout:                "访问超时",
	PluginsServerUnavailable:   "PAICS_Plugins服务未启动",
	ReplacedByNewConnection:    "当前连接被新连接替换",
	ErrorGetHardwareInfo:       "获取设备硬件信息错误",
	ErrorAuthorizeDisable:      "授权不可用",
	ErrorHardwareInfoRestart:   "获取设备硬件信息错误(服务器尝试重启)",
	ErrorHardwareInfoShutdown:  "获取设备硬件信息错误(服务器即将关机)",
	ErrorRemoteSrvErr:          "调用服务器出现错误",
	ErrorCloudSrvErr:           "云端服务调用失败",
	ErrorRemoteSrvNotActiveErr: "服务器离线",
	ErrorRemoteSrvTimeoutErr:   "访问服务器超时或服务器离线",

	ErrorUsername:              "用户名错误",
	ErrorPassword:              "用户密码错误",
	ErrorAuthCheckTokenFail:    "用户token验证失败",
	ErrorAuthCheckTokenTimeout: "用户token验证超时",
	ErrorUsernameExists:        "用户名已存在",
	ErrorPhoneExists:           "手机号已被绑定",
	ErrorUser:                  "用户不存在",
	ErrorUserDescTooLong:       "用户简介字数过长(最多800字符)",
	ErrorUserRepeatLogin:       "用户已登录，请勿重复登录",
	ErrorUserOtherLogin:        "账号已在另一部设备登录，请确认是否本人操作",
	ErrorEmptyToken:            "请求头部token为空",

	ErrorPhoneCheckCode:          "短信验证码错误",
	ErrorPhoneCheckCodeTooOften:  "短信验证码发送频率过于频繁",
	ErrorPhoneCheckCodeOverLimit: "短信验证码发送超过单日限制",
	ErrorLicenceCheckCode:        "证书验证码错误",
	ErrorLoginCheckCode:          "登录验证码错误",

	ErrorUkeyNotExists:          "U-key不存在",
	ErrorUkeyEncrypt:            "U-key加密错误",
	ErrorUkeyDecrypt:            "U-key解密错误",
	ErrorUkeyPublickeyNotExists: "U-key公钥不存在",
	ErrorUkeyIdentifierExists:   "U-key代号已存在",
	ErrorUkeyAvailableTimes:     "U-key没有可授权次数",
	ErrorUkeyNotAuthor:          "U-key没有绑定授权用户",
	ErrorUkeyExists:             "U-key已存在",

	ErrorLicenceNotExists:             "证书不存在",
	ErrorLicenceDeviceNumberOverLimit: "证书设备编号超限",
	ErrorLicenceAuthorIdOverLimit:     "证书授权id超限",
	ErrorLicenceRelateUkey:            "证书对应ukey不匹配",
	ErrorLicenceVersionHigher:         "证书对应版本号高于申请版本号（不予授权）",
	ErrorLicenceVersionLower:          "证书对应版本号低于申请版本号（重新授权）",
	ErrorLicenceNotAuthorize:          "未被授权过",
	ErrorLicenceCheck:                 "证书验证失败",

	ErrorRedis:      "redis相关错误",
	ErrorDb:         "数据库操作相关错误",
	ErrorImgBase64:  "图片base64不正确",
	ErrorImgExt:     "仅支持png/jpg/jpeg/gif图片",
	ErrorImgTooMax:  "图片大小超过限制",
	ErrorSystemLock: "系统锁不存在",

	ErrorNameExists: "名称已存在",

	ErrorLeaderUkeyNotExists:           "主任密钥不存在",
	ErrorLeaderUkeyDataFileRead:        "主任密钥数据文件解析错误",
	ErrorLeaderUkeyDataFileGenerate:    "主任密钥数据文件生成错误",
	ErrorLeaderUkeyNotPair:             "此密钥非绑定主任密钥",
	ErrorLeaderUkeyIdentifier:          "主任密钥编号错误",
	ErrorLeaderUkeyNotBind:             "未绑定主任密钥",
	ErrorLeaderUkeyVersionLower:        "主任密钥用户版本不高于本地用户",
	ErrorLeaderUkeyRepeat:              "不能重复绑定",
	ErrorLeaderCustomerSettingParse:    "主任密钥用户设置数据解析错误",
	ErrorLeaderCustomerSettingGenerate: "主任密钥用户设置数据生成错误",

	ErrorFileFormat:    "错误的文件格式",
	ErrorFileSave:      "文件保存失败",
	ErrorFileNotExists: "文件不存在",

	ErrorPairAuthorNumber: "客户端未配对本地服务器",
	ErrorPairNotConfirm:   "服务端未确认配对申请",
	ErrorPairClient:       "客户端未配对",
	ErrorPairClientLogin:  "有客户端在登录状态，无法取消配对",
	ErrorPairClientCancel: "取消配对",

	ErrorScreeningUuid:       "检查设置uuid不存在",
	ErrorScreeningNameLength: "请输入2～12位的检查名称",
	ErrorScreeningActive:     "必须有一个检查设置为启用状态",
	ErrorScreeningNameRepeat: "检查设置名称不能重复使用",
	ErrorScreeningKeyData:    "检查设置密钥数据错误",
	ErrorScreeningEmpty:      "检查设置数据为空，不能同步",
	ErrorScreeningSaving:     "检查设置正在保存中，请勿重复操作",
	ErrorScreeningNoticing:   "检查设置正在通知中，请我重复操作",
	ErrorScreeningModify:     "检查设置修改数据有误，请基于最新数据修改",

	ErrorCustomerDefaultDelete: "本地用户之默认用户无法删除",
	ErrorCustomerNotExist:      "用户不存在",

	ErrorServerState: "远程服务器不在状态（请检查是否联网）",

	ErrorCaseStartTimeEmpty:                   "请填写病例检查的开始时间",
	ErrorCaseSecondEmpty:                      "请填写病例录制的时长",
	ErrorCasePathEmpty:                        "请填写病例录制的视频路径",
	ErrorCaseVideoPathExist:                   "病例信息已存在",
	ErrorCaseRobotInfoEmpty:                   "请填写超声机信息",
	ErrorCaseDeviceNumberEmpty:                "请填写设备号",
	ErrorCaseCustomerEmpty:                    "请填写医生名字或客户端使用者的名字",
	ErrorCaseSearchStartTime:                  "请选择历史病例的开始时间",
	ErrorCaseSearchEndTime:                    "请选择历史病例的结束时间",
	ErrorCaseInfoNotExist:                     "病例不存在",
	ErrorCaseInfoExist:                        "历史病例已存在",
	ErrorCaseUuidEmpty:                        "请填写历史病例的id",
	ErrorCaseDoctorNameEmpty:                  "请填写历史病例的检查医生名字",
	ErrorCasePath:                             "病例路径错误或病例目录不存在",
	ErrorCaseIsUploadedError:                  "重复上传：病例已上传完成",
	ErrorCaseIsUploading:                      "重复操作：病例正在分析中",
	ErrorCaseSharedUserNotExist:               "共享用户不存在",
	ErrorCaseSharedUserAddFail:                "共享用户添加失败",
	ErrorCaseNeedSetUploadingError:            "请先设置为上传中，再执行上传完成操作",
	ErrorCaseCannotSetUploading:               "当前病例的上传状态不允许设置为上传中",
	ErrorCaseSaveDiskFreeSize:                 "病例存储盘空间不足",
	ErrorCaseScreeningUuidEmpty:               "请填写病例检查类型UUID",
	ErrorCaseClientPatientIdEmpty:             "请填写病例的客户端PatientID",
	ErrorCaseFetusNumErr:                      "请填写病例的检查是第几胎(单胎：1；多胎检查不允许重复胎数；单胎不允许大于1)",
	ErrorCasePatientMultipleSerialErr:         "请填写病例的多胎检查的孕妇的序号(单胎为0，多胎必填；同一孕妇的多胎序号必须一致)",
	ErrorCaseCaseSerialErr:                    "请填写客户端的病例序号",
	ErrorCasePatientIDIsUploading:             "正在处理当前孕妇的case中，请稍后再试",
	ErrorCaseScreeningUuidError:               "病例的检查类型不存在",
	ErrorCaseMultipleFetusNumErr:              "客户端数据错误：存在相同的客户端PatientID且不是单胎检查第一胎",
	ErrorCaseMultipleFetusNumRepeated:         "客户端数据错误：存在相同的客户端PatientID且多胎胎数重复",
	ErrorCaseMultiplePatientMultipleSerialErr: "客户端数据错误：存在相同的客户端PatientID且多胎检查的孕妇的序号不一致",
	ErrorCasePatientMultipleSerialDiff:        "客户端数据错误：多胎检查的孕妇的序号不一致",
	ErrorCaseFetusNumSameErr:                  "客户端数据错误：多胎检查出现相同的胎儿序号或PatientID重复",
	ErrorCaseFetusNumFirstErr:                 "客户端数据错误：多胎检查出现多次第一胎单胎检查",
	ErrorCaseClientPatientIDSameErr:           "客户端数据错误：出现相同的PatientID且不是多胎检查",
	ErrorCaseJoinSecondErr:                    "客户端数据错误：续接病例的时长不能小于或等于之前的病例时长",
	ErrorCaseJoinIsPlayingErr:                 "此历史病例正在播放中，请稍后再试",
	ErrorCaseFileNotExist:                     "病例文件未上传完成(文件不存在)，请先上传文件再进行确认上传完成",
	ErrorCaseImageNotExist:                    "截图文件未上传完成(文件不存在)，请先上传文件再进行确认上传完成",
	ErrorCaseAloneClientPatientIDSameErr:      "单胎检查的客户端PatientID与其他case的客户端PatientID相同",
	ErrorCaseMultipleClientPatientIDSameErr:   "多胎检查的客户端PatientID与其他单胎的客户端PatientID相同",
	ErrorCaseSnapshootError:                   "病例至镜像错误",
	ErrorCasePatientExist:                     "已存在此病人信息",
	ErrorCaseScreenShotExist:                  "已存在相同时间的截图",
	ErrorCaseScreenShotNotExist:               "不存在此病例的截图",
	ErrorAssessExist:                          "不能重复提交答卷",
	ErrorMeasuredExist:                        "测量值已存在",
	ErrorCaseFetusGroupNotExist:               "病例分组不存在",

	// 标签
	ErrorCaseLabelExist:       "已存在同名自定义标签",
	ErrorCaseLabelNotExist:    "标签不存在",
	ErrorCaseLabelCountError:  "自定义标签数量已达100个限额",
	ErrorCaseRelateLabelExist: "病例已关联了此标签",
	ErrorCaseReportNotExists:  "病例报告不存在",

	// 病例备份
	ErrorCaseBackupCopyError:           "病例备份复制错误",
	ErrorCaseBackupWriteRecordError:    "病例写记录错误",
	ErrorCaseBackupDiskNotExists:       "备份盘不存在",
	ErrorCaseBackupRecordFileNotExists: "未找到备份成功记录",

	// 知识图谱 特征
	ErrFeaturePartNotExist:             "特征部位系统不存在",
	ErrFeaturePartNameError:            "特征部位系统名称长度必须2～20字符",
	ErrFeaturePartNameExist:            "特征部位系统名称重复(已存在)",
	ErrFeaturePartNumNotEnough:         "特征ID编号已无空余",
	ErrFeatureInUsedSection:            "特征被切面使用中",
	ErrFeatureInUsedSyndrome:           "特征被综合征使用中",
	ErrFeatureInUsedSectionAndSyndrome: "特征被切面与综合征使用中",
	ErrFeatureNameError:                "特征名称长度必须2～20字符",
	ErrFeatureDefineLongError:          "特征的定义最多2000字符",
	ErrFeatureDiagnoseLongError:        "特征的超声诊断要点最多2000字符",
	ErrFeatureConsultLongError:         "特征的预后咨询最多2000字符",
	ErrFeatureOtherLongError:           "特征的其他说明最多2000字符",
	ErrFeatureLegendOriginNameError:    "请填写特征的图例名称",
	ErrFeatureLegendFilePathError:      "特征图例文件格式只能是jpg/png/mp4",
	ErrFeatureLegendTypeError:          "请选择特征图例类型",
	ErrFeatureExist:                    "特征名称重复(已存在)",
	ErrFeaturePartUUIDMustNeed:         "请传参：特征部位uuid",
	ErrFeatureNotExist:                 "特征不存在",
	ErrFeaturePartNameEnError:          "特征部位英文名称长度必须2～100字符",
	ErrFeatureNameEnError:              "特征英文名称长度必须2～100字符",
	ErrFeatureDefineEnLongError:        "特征的英文定义最多6000字符",
	ErrFeatureDiagnoseEnLongError:      "特征的英文超声诊断要点最多6000字符",
	ErrFeatureConsultEnLongError:       "特征的英文预后咨询最多6000字符",
	ErrFeatureOtherEnLongError:         "特征的英文其他说明最多6000字符",
	ErrFeatureDefineCnEnError:          "请输入特征的定义(相应的中英文说明)",
	ErrFeatureDiagnoseCnEnError:        "请输入特征的超声诊断要点(相应的中英文说明)",
	ErrFeatureConsultCnEnError:         "请输入特征的预后咨询(相应的中英文说明)",
	ErrFeatureOtherCnEnError:           "请输入特征的其他说明(相应的中英文说明)",
	ErrFeaturePartNameEnExist:          "特征部位英文名称重复(已存在)",
	ErrFeatureEnExist:                  "特征英文名称重复(已存在)",
	ErrFeatureLegendThumbError:         "请选择特征图例缩略图不正确",

	// 知识图谱 切面
	ErrSectionNotExist:               "切面不存在",
	ErrSectionFeatureNotExist:        "切面特征不存在",
	ErrSectionUUIDEmpty:              "请填写切面uuid",
	ErrSectionNameError:              "切面名称长度必须3～30字符",
	ErrSectionCodeError:              "请选择切面程序编码",
	ErrSectionExist:                  "切面已存在(切面名称或程序编码已被使用)",
	ErrSectionNumNotEnough:           "切面ID编号已无空余",
	ErrSectionFeatureNameError:       "切面特征名称长度必须2～30字符",
	ErrSectionFeatureNormalCodeError: "请选择切面正常特征程序编码",
	ErrSectionFeatureNormalRepeated:  "部位特征有重复(特征重复或特征的程序编号重复)",
	ErrSectionFeatureNormalNotExist:  "对立特征不存在(部位特征不存在或被删除)",
	ErrSectionFeatureExist:           "切面特征已存在(切面特征名称或程序编码已被使用)",
	ErrSectionUUIDMustNeed:           "请传参：切面uuid",

	// 知识图谱 综合征
	ErrSyndromeNotExist:                  "综合征不存在",
	ErrSyndromeNumNotEnough:              "综合征ID编号已无空余",
	ErrSyndromeExist:                     "综合征已存在(综合征名称已被使用)",
	ErrSyndromeNameError:                 "综合征名称长度必须2～30字符",
	ErrSyndromeGeneticsDescError:         "综合征的遗传类型最多30字符",
	ErrSyndromeGeneLocationError:         "综合征的基因位点最多30字符",
	ErrSyndromeDiagnoseError:             "综合征的超声诊断要点最多2000字符",
	ErrSyndromeConsultError:              "综合征的预后咨询最多2000字符",
	ErrSyndromeClassCodeError:            "请选择综合征分组类型或综合征分组",
	ErrSyndromeUUIDMustNeed:              "请传参：综合征uuid",
	ErrSyndromeTypeNotRight:              "综合征类型不正确",
	ErrSyndromeUUIDRepeated:              "综合征uuid重复",
	ErrSyndromeFeatureUUIDRepeated:       "综合征形态学uuid重复",
	ErrSyndromeFeatureOptError:           "请选择形态学特征常见状态",
	ErrSyndromeClassNotGeneError:         "遗传综合征排序类型错误(有不属于遗传综合征类型的综合征)",
	ErrSyndromeNameEnError:               "综合征英文名称长度必须2～100字符",
	ErrSyndromeGeneticsDescEnError:       "综合征的英文遗传类型最多200字符",
	ErrSyndromeGeneticsDescCnEnError:     "请输入综合征的遗传类型(相应的中英文说明)",
	ErrSyndromeGeneticsLocationEnError:   "综合征的英文基因位点最多200字符",
	ErrSyndromeGeneticsLocationCnEnError: "请输入综合征的基因位点(相应的中英文说明)",
	ErrSyndromeDiagnoseEnError:           "综合征的英文超声诊断要点最多6000字符",
	ErrSyndromeDiagnoseCnEnError:         "请输入综合征的超声诊断要点(相应的中英文说明)",
	ErrSyndromeConsultEnError:            "综合征的英文预后咨询最多6000字符",
	ErrSyndromeConsultCnEnError:          "请输入综合征的预后咨询(相应的中英文说明)",
	ErrSyndromeEnExist:                   "综合征已存在(综合征英文名称已被使用)",
	ErrSyndromeNotExistOrRepeated:        "综合征不存在或综合征重复",

	// 版本
	ErrVersionNotExist:                "版本不存在",
	ErrVersionNameError:               "版本名称需要4～30字符",
	ErrVersionSupportCodeError:        "请选择适配产品版本号(适配产品编号错误)",
	ErrVersionExist:                   "版本名称已存在(版本名称已被使用)",
	ErrVersionNumNotEnough:            "版本ID编号已无空余",
	ErrVersionSupportRepeated:         "适配产品版本号有重复",
	ErrVersionSupportClientError:      "客户端版本号错误(版本号格式：V_X.X.X.X)",
	ErrVersionSupportServerError:      "服务端版本号错误(版本号格式：V_X.X)",
	ErrVersionSerialEmpty:             "请填写版本编号",
	ErrVersionSectionFeatureTypeError: "版本切面特征类型不正确",
	ErrVersionSupportCodeMatchError:   "适配产品编号错误",

	// 知识图谱 导入导出
	ErrVersionExportImport:         "知识图谱版本导出导入",
	ErrVersionImportFileIncorrect:  "知识图谱版本文件不正确(请重新导出文件)",
	ErrVersionImportVersionExist:   "知识图谱版本已存在，无需再次导入",
	ErrVersionImportUnzipError:     "知识图谱版本文件解压失败(请重新导出文件)",
	ErrVersionImportFileNotExist:   "知识图谱版本文件不存在，请重新上传",
	ErrVersionSyncErrIsUsed:        "知识图谱版本正在使用中，同步失败",
	ErrVersionSyncErrDoNotSupport:  "同步会造成已匹配客户端原匹配关系失效",
	ErrVersionImportParamIncorrect: "websocket参数错误",
	ErrVersionExportLockError:      "知识图谱正在打包中，请3秒后再试",
	ErrVersionImportDecryptError:   "知识图谱解密失败",

	// dll
	ErrDLLPasswordDecodeErr:    "密码解码错误",
	ErrDLLFindProcFailed:       "查无此处理程序",
	ErrDLLWinUserExists:        "用户已存在",
	ErrDLLWinUserPassShortErr:  "用户密码过短",
	ErrDLLWinUserNotExist:      "用户不存在",
	ErrDLLWinUsername:          "用户名不规范",
	ErrDLLWinUserCreatedFail:   "用户创建失败",
	ErrDLLWinUserDeletedFail:   "用户删除失败",
	ErrDLLWinUserSharedPathErr: "用户的路径添加失败",
	ErrDLLProcessErr:           "调用成功，处理过程中发生错误",
	ErrWMIProcessErr:           "获取设备过程中发生错误",

	// 客户端
	ErrClientInteractiveParamIncorrect: "websocket参数错误",
	ErrClientAuthorNumberEmpty:         "请填写有效的客户端授权id",
	ErrClientVersionSerialEmpty:        "请填写版本序列号",
	ErrClientVersionNotSupport:         "知识图谱不适配当前客户端版本",
	ErrPluginsServerDialTimeout:        "访问插件服务超时",
	ErrClientCaseUUIDEmpty:             "请填写病例uuid",
	ErrClientVoiceTextEmpty:            "请输入搜索内容",

	// 设备管理
	ErrorDeviceNumberEmpty:       "请填写设备号",
	ErrorDeviceNeverSubmit:       "此设备还未对接上报设备信息接口",
	ErrorDeviceIPError:           "设备IP异常",
	ErrorDeviceFileSrvErr:        "文件服务调用失败(文件不存在或无权限)",
	ErrorDeviceFileTypeErr:       "错误的文件类型",
	ErrorDeviceLogStartTimeErr:   "请选择日志开始时间",
	ErrorDeviceLogEndTimeErr:     "请选择日志结束时间",
	ErrorDeviceAuthorNumberEmpty: "请填写授权ID",
	ErrorDeviceCannotGetIPErr:    "目标已脱机，且无法获取IP",

	// 图文报告
	ErrorCasePrintReportNotExist:                "图文报告不存在",
	ErrorCasePrintReportNameAlreadyExist:        "报告名称已存在，请重新输入",
	ErrorCasePrintReportAlreadyExist:            "病例已存在报告，不可重复创建",
	ErrorCasePrintReportNameEmpty:               "请输入报告名称",
	ErrorCasePrintReportHospitalNameEmpty:       "请输入报告名称",
	ErrorCasePrintReportHospitalDepartmentEmpty: "请输入报告名称",
	ErrorCasePrintReportDoctorNameEmpty:         "请输入报告名称",
	ErrorCasePrintReportPatientNameEmpty:        "请输入报告名称",
	ErrorCasePrintReportPatientAgeEmpty:         "请输入报告名称",
	ErrorCasePrintReportReportImagesEmpty:       "请输入报告名称",
	ErrorCasePrintReportUltrasoundSeeEmpty:      "请输入报告名称",
	ErrorCasePrintReportUltrasoundTipEmpty:      "请输入报告名称",
	ErrorCasePrintReportClientReportSerialEmpty: "请输入报告名称",
	ErrorCasePrintReportImagesTooMany:           "超声机图像最多添加3张",
	ErrorCasePrintCaseUUIDEmpty:                 "请填写病例id",
	ErrorCasePrintCaseStartTimeEmpty:            "请填写病例开始时间",
	ErrorCasePrintCaseSecondEmpty:               "请填写病例时长",
	ErrorCasePrintReportTimeEmpty:               "请填写报告时间",
}

var DepartmentFlags = map[string]string{
	"产品研发中心": "PD",
	"算法研发中心": "AD",
	"医疗业务中心": "MC",
	"行政部":    "ED",
}

// GetMsg get error information based on Code
func GetMsg(code int) string {
	msg, ok := MsgFlags[code]
	if ok {
		return msg
	}

	return MsgFlags[ERROR]
}
